1. Technical Field
The present invention relates generally to Internet electronic commerce and more particularly to a method of purchasing products and services on-line wherein transaction information is collected and maintained across multiple independent transaction sessions from heterogeneous web sites.
2. Description of the Related Art
The World Wide Web of the Internet is the most successful distributed application in the history of computing. In the Web environment, client machines effect transactions to Web servers use the Hypertext Transfer Protocol (HTTP), which is a known application protocol providing users access to files (e.g., text, graphics, images, sound, video, etc.) using a standard page description language known as Hypertext Markup Language (HTML). HTML provides basic document formatting and allows the developer to specify "links" to other servers and files. In the Internet paradigm, a network path to a server is identified by a so-called Uniform Resource Locator (URL) having a special syntax for defining a network connection. Use of an HTML-compatible browser (e.g., Netscape Navigator) at a client machine involves specification of a link via the URL. In response, the client makes a request to the server identified in the link and receives in return a document formatted according to HTML.
During the success of the World Wide Web, electronic "shopping" on the Web is still in its infancy. Several business models have been recommended. Generally, they involve the creation of a information repository (in effect, a "shopping cart") that can be used to store transaction-related data as a user browses Internet Web sites and makes purchases. To this end, Sun Microsystems Laboratories has introduced the "Java Wallet" concept, based on the Java programming language and environment, which provides an open extensible framework for electronic transaction processing. The Java Wallet is intended to provide a vehicle by which a user may organize receipts, coupons and other electronic identification, and to provide a means by which such information may be electronically processed (along with a payment system) to effect Web commerce. A user of a Java Wallet theoretically will be able to see all of their purchases organized in a single transaction register. Another technology that has been proposed to facilitate such electronic "shopping" is the Microsoft Merchant Client, which uses a client-supported application, although similar approaches also can be done on the server side of the network. However, because no server dominates in the Internet space, a server implementation is not as viable as a client-side approach. In either case, the problem in implementing such approaches on a widespread basis lies in the lack of a common or "agreed upon" specification of the protocol for moving information in and out of the wallet/cart construct. Until such a protocol is defined and accepted, there will be no universal market implementation.
It would be highly desirable to provide a mechanism that would allow customers to have their own "virtual shopping cart," regardless of what shop or mall they visit on the Web. Customers should be able to browse any store, and at any time, and be able to choose an item for the cart and have any information applicable to that potential purchase retained to allow for a subsequent purchasing decision (regardless of when that decision is made). Existing or proposed technological solutions do not provide this capability. One "brute force" solution to this problem would be to merely open up multiple instances of a browser and establish connections between the client and multiple web sites. The information "collected" in each session could then be "cut and pasted" together in a wallet and presented to the user for the purchasing decision. Such an approach is quite impractical because of the significant amount of processing resources that would be consumed by the opening up and maintaining of multiple browser instances. Moreover, there would be no convenient way of maintaining the transaction information once the browser connections were terminated and/or using such information to complete some transaction.
The present invention addresses these and other deficiencies of the prior art.